/**
 * 严肃声明：
 * 开源版本请务必保留此注释头信息，若删除我方将保留所有法律责任追究！
 * 本系统已申请软件著作权，受国家版权局知识产权以及国家计算机软件著作权保护！
 * 可正常分享和学习源码，不得用于违法犯罪活动，违者必究！
 * Copyright (c) 2020 陈尼克 all rights reserved.
 * 版权所有，侵权必究！
 */

import axios from '../utils/axios'

// 获取商品的完整规格信息
export function getGoodsSpecs(goodsId) {
  return axios.get(`/full/${goodsId}`);
}

// 根据商品ID获取规格属性列表
export function getGoodsAttrs(goodsId) {
  return axios.get(`/attrs/${goodsId}`);
}

// 根据属性ID获取属性值列表
export function getSpecValues(attrId) {
  return axios.get(`/values/${attrId}`);
}

// 根据商品ID获取所有属性值
export function getGoodsSpecValues(goodsId) {
  return axios.get(`/values/goods/${goodsId}`);
}

// 添加规格属性
export function addGoodsAttr(params) {
  return axios.post('/attr', params);
}

// 更新规格属性
export function updateGoodsAttr(params) {
  return axios.put('/attr', params);
}

// 删除规格属性
export function deleteGoodsAttr(id) {
  return axios.delete(`/attr/${id}`);
}

// 添加属性值
export function addSpecValue(params) {
  return axios.post('/value', params);
}

// 更新属性值
export function updateSpecValue(params) {
  return axios.put('/value', params);
}

// 删除属性值
export function deleteSpecValue(id) {
  return axios.delete(`/value/${id}`);
}

// 批量保存规格属性
export function batchSaveAttrs(params) {
  return axios.post('/attrs/batch', params);
}

// 批量保存属性值
export function batchSaveValues(params) {
  return axios.post('/values/batch', params);
}

// 删除商品的所有规格信息
export function deleteAllSpecs(goodsId) {
  return axios.delete(`/goods/${goodsId}`);
}

// 复制规格信息到其他商品
export function copySpecs(sourceGoodsId, targetGoodsId) {
  return axios.post('/copy', null, {
    params: {
      sourceGoodsId,
      targetGoodsId
    }
  });
}